1. Field of the Invention
The present invention generally relates to a software driver for a system bus, and, more particularly, to a method of providing read and write access to the system bus for all the components on the system.
2. Description of the Prior Art
A system bus enables the exchange of data, usually in word-size quantities, among the various computer system units. In practice, a large number of units are connected to a single bus, with each unit contending in an orderly way for use of the bus for individual transfers.
The timing and sequence of data exchange between system components is controlled by a particular network bus architecture. One such architecture is known as Ethernet. All stations in a Ethernet are connected, through network interface cards or connectors, to a cable that is run to each user's equipment. The Ethernet network uses a protocol called carrier-sense multiple access with collision detection (CSMA/CD). In the CSMA/CD protocol, each station shares the cable by constantly monitoring the cable to detect when it is idle (no user transmitting), when one user is transmitting (successfully), or when more than one user is simultaneously trying to transmit (collision).
The cable basically acts as a broadcast bus. Any station may transmit on the cable if the station detects it to be idle. Once a station transmits, other stations will not interrupt the transmission. With collision detection, if two stations begin to transmit at the same time, they detect the collision, stop, and retry after a randomly chosen period of time.
Ethernet, and other bus architectures, require complex protocols to set up the messages and manage the data transfer. Finally, complex hardware schemes are required to support data transfer and error checking functions.
In light of the foregoing, there exists a need for to an simplified, efficient software driver for a system bus that reduces the amount of hardware and complex software required to perform the task.